from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from django.views import View


class ImageCodeView(View):

    def get(self, request, uuid):
        from libs.captcha.captcha import captcha
        # 调用 generate_captcha 方法生成图片验证码，返回两个值：图片验证码的内容和图片的二进制
        # text 是图片验证码的内容 例如：xyzz
        # image 是图片二进制  图片最终是以二进制形式保存的
        text, image = captcha.generate_captcha()
        # 连接 redis
        from django_redis import get_redis_connection
        redis_cli = get_redis_connection('code')
        # 设置图片验证码的 key：value
        redis_cli.setex('img_%s' % uuid, 60, text)
        # 返回图片二进制，因为是二进制不能返回JSON数据
        # content_type 是响应体数据类型，即告诉浏览器我们返回的数据类型是什么
        # content_type 的语法形式是： 大类/小类
        # 图片 ： image/jpeg , image/gif , image/png
        return HttpResponse(image, content_type='image/jpeg')
